13-1 おw簡

本節將簡介資料庫(Databases)的基本概念,以便沒有資料庫背景的讀者,能夠進入情況。此外,本章的範例,都會使用微軟的Access資料庫,這是一個具體而微的資料庫系統,只要你有安裝MS Office軟體,就會包含此資料庫系統,簡單易懂且容易拷貝移植。

資料庫是由資料表(Tables)所形成的集合,而資料表則是一筆一筆的記錄(Records 或是 Rows)所成的集合,每筆記錄都包含不同的欄位(Fields 或是 Columns)。一個儲存歌曲資料的典型資料表可以表示如下:

序號歌曲名稱主唱者年份
1用心良苦張宇1993
2聽海張惠妹1998
4牽手張惠妹2001
6最熟悉的陌生人蕭亞軒2000
8戀人未滿S.H.E2002
9I.O.I.O.S.H.E2002
11每次都想呼喊你的名字永邦2002
12最熟悉的陌生人蕭亞軒2000
13原來你什麼都不要張惠妹1999
14窗外的天氣蕭亞軒1999
16野百合也有春天永邦2002

在上述資料表中,每一個橫列稱為一筆記錄,每一個直行稱為欄位,每一筆記錄在某個特定欄位的值稱為「欄位值」,例如,序號為 4 的記錄,當欄位是「主唱者」時,所對應的欄位值是「張惠妹」。

我們在顯示上列資料表時,是以序號來進行排序顯示,但在資料庫的內部儲存方式中,並不會有特定的排序,所以:

一般而言,當我們從資料表中抓出資料,欄位的順序是根據欄位創造日期的先後,而記錄的順序是根據「主索引」(Primary Key)的欄位來進行排序,每個資料表可以選定一個欄位來做為主索引,而且主索引欄位的欄位值是不能重覆的。以上述歌曲資料表而言,主索引可以是序號,這是對每一首歌獨一無二的數值,可以用來代表某一首特定的歌曲。同理,對於某一屆的同學,我們可以將學號設定成主索引,因為每個學號可用來代表某位學生,而且學號本身是不會重複的。

我們先來看一個簡單的資料庫,這是一個微軟的 Access 資料庫,檔名是 song01.mdb(可由範例光碟內取得),開啟後,外觀如下:

如果我們點選 song 的資料表,就可以開啟此表:

在上述資料表中,你可以看到 11 筆記錄,每筆記錄有 4 個欄位,欄位名稱分別是「序號」、「歌曲名稱」、「主唱者」、「年份」,事實上,每個欄位都有特定的資料型態,這些資料型態可以由資料表的「設計檢視」來開啟,我們先關掉資料表,再用右鍵點選 song 資料表的圖示,如下:

開啟資料表的「設計檢視」選項後,你可以看到每個欄位的資料類型,例如「自動編號」、「文字」、「數值」等,如果你將游標放在第二列的「文字」,就可以看到和「文字」類型相關的選項,如下:

你也可以點選「文字」右方的小倒三角形,就可以改變這個欄位的資料類型,如下:

由此可知可選用的資料類型約有 10 種,可以列表說明如下:

資料類型說明
文字用來儲存文字資料,例如姓名、身份證字號、密碼、地址等。最大長度只有 255 字元。
備忘也是用來儲存文字資料,最大長度可達 64,000 字元,但是不支援排序功能。
數字儲存數值資料,又可分為位元組、整數、長整數、單精準數、雙精準數、複製編號與小數點等 7 類。
日期/時間儲存時間和日期的資料,可以選用不同的呈現方式。
貨幣儲存貨幣或金額,例如售價、定金等。
自動編號此欄位值都是不重複的正整數,由資料庫自動產生,每新增一筆記錄,資料庫就會以加 1 的方式產生此欄位值,因此不會重複。若有記錄被刪除,此欄位就不會形成連續的整數。通常我們會指定使用具有此種資料類型的欄位為主索引,以便獨一無二地指到某一筆特定的記錄。
是/否此資料類型只能有兩種值:「是」或「否」。可用於記錄是否註冊、是否付款、是否過期等。
OLE 物件可存放各類形的檔案,例如圖片、聲音、動畫、Excel 試算表、Word 文件等。
超連結可以存放超連結或網址。
查閱精靈嚴格地說,這並不是一種資料類型,而是方便輸入文字資料的一種功能。

因此,你可以使用「設計檢視」來新增或刪除欄位,然後再打開資料表,就可以將一筆一筆的資料輸入到資料表內了。最後,別忘了要存檔,再關閉此資料庫。


MATLAB程式設計:進階篇